home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 22
/
Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso
/
Aminet
/
game
/
role
/
CTW10d.lha
/
CTW
/
CTWHelpFile.hyper
< prev
next >
Wrap
Text File
|
1997-09-02
|
11KB
|
448 lines
{:intro}
{^}The CTW Engine Editor By Internext Software
{^}Programmed By John Bintz
{^}Hypertext Document By John Bintz
{^}================================
{>commands}Script Commands
{>constr}Script Constructs
{>format}File Formats
{>info}Information
This puppy is Hypertexted. Just start clicking!
{:commands}
{/2}=============================================
{/3}CTW Engine Scripting Commands
{/2}=============================================
Remember to end all script lines with pipes (|)!
{>PAUSE}Jump Down A Couple
{>WAIT}Jump Down Some More
{>ITEMSPEC}Jump Down Even More
{>CHANGEFRAMEBASE}Jump To The End
{>intro}Jump Back To Intro
{::}
{/7}:Label
Set a Label to jump to within a program.
{:[}
{/7}[ Text Params...
Display some text. Parameters are labelled in the text
string as %1 on.
{:]}
{/7}] Text Label
Make a text menu mption. Jump to Label if selected.
{:SET}
{/7}SET Variable Value
Set The Variable To Value
{:MATH}
{/7}MATH Value Op Value Variable
{/7}MATH Variable Op Value
Perform a mathematical operation. Form one places Result into different
Variable, while form two places Result into first Variable.
OP is any of the following operators:
{/5} + Addition
{/5} - Subtraction
{/5} * Multiplication
{/5} / Division
{/5} % Division Remainder
{:PAUSE}
{/7}PAUSE Seconds
Pause the script for Seconds
{:GOTO}
{/7}GOTO Label
Goto the Label in the program
{:ONGOTO}
{/7}ONGOTO Base Offset Labels...
Jump to the Label specified, starting at 1, from the formula Offset-Base.
Example:
{/6}ONGOTO 4 6 JUMPNOW JUMPLATER JUMPNEVER
would send the script to the label JUMPNEVER
{:LABELJUMP}
{/7}LABELJUMP Character Label
Jump a Character's script (identified by their position in the CHARZ block,
starting at zero) to Label.
{:WALK}
{/7}WALK Direction Speed
Walk at a given Speed (in pixels) in the following directions:
{/5} 0 Up
{/5} 1 Down
{/5} 2 Left
{/5} 3 Right
{:WALKTO}
{/7}WALKTO X Y Speed There
Walk to a specific point (X,Y) on the map at Speed pixels per step. When
you reach it, There is true.
{:IF}
{/7}IF Variable Op Value Label
{/7}IF Variable Label
The first form uses an Operand to determine trueness, while the second
check if Variable is true. In either case, if the result is true, the
script jumps to Label. The Operands for form one:
{/5} > Greater Than
{/5} < Less Than
{/5} => >= Greater Than/Equal
{/5} <= =< Less Than/Equal
{/5} = Equal To
{/5} <> Not Equal To
{:WAIT}
{/7}WAIT Clicks
Wait for Clicks/50th of a second
{:RND}
{/7}RND Variable UpperBound
Put a random number into Variable from 0-UpperBound
{:TIMER}
{/7}TIMER Variable
Put into Variable the number of clicks since powerup
{:GLOSET}
{:GLOGET}
{/7}GLOSET GlobalVariable Value
{/7}GLOGET GlobalVariable Variable
These commands set and get Global Variables, a set of 256 variables that
travel between scripts.
{:BITSET}
{:BITCLR}
{:BITCHG}
{/7}BITSET Varibale Bit
{/7}BITCLR Variable Bit
{/7}BITCHG Variable Bit
These set, clear, or change a bit in a variable. Variables have 32 bits from
0-31.
{:BITGET}
{/7}BITGET Variable Bit Result
Result is true if Bit in Variable is set.
{:ADDITEM}
{/7}ADDITEM Name
Add the item Name to the player's inventory.
{:HAVEITEM}
{/7}HAVEITEM Name Result
If the player has item Name, Result is true.
{:TAKEITEM}
{/7}TAKEITEM Name Result
If the player has item Name, Result is true and the item is removed from the
player's inventory.
{:ITEMSPEC}
{/7}ITEMSPEC Name Value Result
Get the specs for an item:
{/5} WP Weapon Power
{/5} AP Armor Power
{/5} HP Hit Points Restored
{/5} COST Item Cost
{/5} TYPE Type Of Item
{/2} 0 Weapon
{/2} 1 Armor
{/2} 2 Hat
{/2} 3 Gloves
{/2} 4 Restores HP
{/2} 5+ Custom
{:KILL}
{/7}KILL
Kill a character and end the script
{:LOADLEVEL}
{/7}LOADLEVEL Levelname
Load the level Levelname
{:ATTACK}
{/7}ATTACK Group
Cause the Group to attack the player
{:BUY}
{/7}BUY Item Result
Buy Item for a certain amount of money. If the player has enough money, Result
is true and the player gets the item.
{:SELL}
{/7}SELL Item Result
Try to sell the player's Item. If the player has the item, he sells it for its
total price and Result is true.
{:RATINGSET}
{:RATINGGET}
{/7}RATINGSET Rating Value
{/7}RATINGGET Rating Value
Get or set a rating from the player:
{/5} HP Hit Points
{/5} MHP Max Hit Points
{/5} STR Strength
{/5} DEX Dexterity
{/5} INT Intelligence
{/5} CRED Credits
{/5} EXP Experience
{:CHANGEFRAMEBASE}
{/7}CHANGEFRAMEBASE FrameSet
Change a character's Frame Set to FrameSet
{:COORDS}
{/7}COORDS Char X Y
Get the coordinates of character Char into X and Y
{:MOVETO}
{/7}MOVETO X Y
Move a character to (X,Y)
{:FRAMEANIM}
{/7}FRAMEANIM FrameSet
Animate the character with FrameSet, then continue
{:ITEMREMOVE}
{:ITEMISGONE}
{:ITEMKILL}
{:ITEMPUTBACK}
{/7}ITEMREMOVE Which
{/7}ITEMISGONE Which Result
{/7}ITEMKILL Which
{/7}IITEMPUTBACK Which
These commands use a bunch of Global Variables to keep track of individual
item scripts. When a player takes an item, ITEMREMOVE it. Then, add to the
beginning of the item's script an ITEMISGONE request. If the Result is
True, KILL the item. ITEMPUTBACK changes the item's state. ITEMKILL combines
ITEMREMOVE and KILL.
{:MENURESET}
{:MENUADD}
{:MENUCHOICE}
{/7}MENURESET
{/7}MENUADD Short Long
{/7}MENUCHOICE Result
These commands let you use circular menus, such as the player's menu.
MENURESET first, then add commands, giving the short (rotated) string, then
the long (bottom of screen descriptor) string. MENUCHOICE returns the number
of the item, starting from zero.
{:TOGGLETOUCH}
{/7}TOGGLETOUCH
Change the script's ability to jump to :TOUCH when touched.
{:KEYDOWN}
{/7}KEYDOWN Key Result
Check to see if Key is being pressed. If it is, Result is true.
{:SOUND}
{/7}SOUND File Frequency Voices
Play sound File on disk at Frequency through Voices:
{/5} %0123
{/5} 0 and 2 are Left Channels
{/5} 1 and 3 are Right Channels
{:TOGGLEDISPLAY}
{/7}TOGGLEDISPLAY
Toggle display updating on and off.
{:FADEIN}
{:FADEOUT}
{/7}FADEIN Time
{/7}FADEOUT Time
Fade in and out the screen for 15*Time/50 Seconds
{:LOCKCONTROLS}
{:UNLOCKCONTROLS}
{/7}LOCKCONTROLS
{/7}UNLOCKCONTROLS
Prevent or allow the player to move.
{:constr}
{/2}=========================================
{/5}Useful Script Constructions
{/2}=========================================
{>intro}Jump Back To Introduction
{/4}WalkLoops
A character will walk around a bunch of different points, all set in the
script:
{/2}SET @WALKLOOP 0|
{/2}:WALKLOOP|
{/2}ONGOTO 0 @WALKLOOP POINT1 POINT2 ...
{/2}:POINT1|
{/2}WALKTO X Y SPEED @THERE|
{/2}IF @THERE NEXTPOINT|
{/2}GOTO WALKLOOP|
{/2}:NEXTPOINT|
{/2}MATH @WALKLOOP + 1|
{/2}MATH @WALKLOOP % POINTS|
{/2}GOTO WALKLOOP|
{/4}Text Menus
Text Menus are menus put directly upon the text window. They are useful when
selecting between Yes/No answers or Buy/Sell options:
{/2}[ "Hello There!"|
{/2}[ "Do you like it here?"|
{/2}] "Yes I Do" YES|
{/2}] "No I Don't" NO|
{/2}GOTO END|
{/2}:YES|
{/2}[ "That's good!"|
{/2}GOTO END|
{/2}:NO|
{/2}[ "Well, then I'll have to DESTROY YOU!"|
{/2}ATTACK|
{/2}GOTO END|
{/4}Circluar Menus
Circular menus are the menus that rotate around the character, and are very
useful when you have more than three choices:
{/2}MENURESET|
{/2}MENUADD "Buy" "Buy A Weapon"|
{/2}MENUADD "Sell" "Sell A Weapon"|
{/2}MENUADD "Leave" "Leave The Store"|
{/2}MENUCHOICE @RESULT|
{/2}ONGOTO 0 @RESULT BUY SELL LEAVE|
{/4}Global Variables
Global variables create storylines. They travel between levels and are
useful for keeping track of what you've done:
{/2}GLOGET 0 @CURRPOS|
{/2}IF @CURRPOS = 4 STORY4|
{/2}IF @CURRPOS = 3 STORY3|
{/2}IF @CURRPOS = 2 STORY2|
{/2}IF @CURRPOS = 1 STORY1|
{:format}
{/2}============================================
{/3}CTW File Formats
{/2}============================================
{>intro}Jump Back To Introduction
{/4}Scripts
Scripts are ASCII files with commands separated by pipes (|)
COMMAND1 Params|
COMMAND2 Params|
{/4}Frames.data
First the name of the SBOBS file, then the frames in this format...
FrameSet Special Frame Frame...
{/5} Special Settings Are
{/5} 0 No Change
{/5} 1 Constant Animation
{/5} 2 Horizontal Flip
{/5} 3 Vertical Flip
{/4}Items.data
Items are set up as follows...
ItemName WeaponPower ArmorPower HPRestored ItemCost ItemType
{/5} ItemTypes Are...
{/5} 0 Weapon
{/5} 1 Armor
{/5} 2 Gloves
{/5} 3 Hat
{/5} 4 HP Restored
{/5} 5+ Custom Items
{/4}Level Files
Level Files are set up in blocks...
|MAPZ|
Map File
|CHARZ|
Character Information, in the format...
{/3}Script X Y FrameSet Group
|ZONEZ|
Zone Information, in the format...
{/3}Left Top Right Bottom ZoneType Parameters
{/5} ZoneTypes Are As Follows...
{/5} STOP
{/5} SLOW
{/5} ATTACK Group
{/5} LEVEL LevelFile X Y
{/5} LABELJUMP Character Label
|MUSIL|
Mod File
|EFFECTZ|
Effect Params...
{/5} Effects Are As Follows...
{/5} 1 Rain Drops Speed
{/5} 2 Snow Flakes Speed
{/5} 3 Dark Strobe
{/5} 4 Lightning
{/5} 5 Dim View
{/5} 99 Custom Picture
|COMMENTZ|
Comments
{:info}
{/2}================================================
{/3}CTW Information
{/2}================================================
{>intro}Jump Back To Introduction
The CTW Engine is based upon the engine that drives Chrono Trigger,
my most favorite SquareSoft RPG. I have absolutely no idea when I first
started work on it, but I'm sure that was about eight months ago, around
January or February of 1997. Its intended purpose is to allow the
creation of multi-screened Role Playing Games, with music, sound effects,
animated battles (non-animated battles; see Final Fantay, Bards Tale, etc.),
full-color graphics not build upon tiles, fully animated characters, a
fancy menuing system (in the style of SofM and SofE), the possibilities
for a HUGE storyline (with about 190 global variables, it shouldn't be too
hard to do...), and to do it all on systems with even limited resources
(2 Meg 68000-based Amigas are probably the lowest system you can run it on
effectively).
Its written entirely in Amos Professional, with use of the
following Extensions:
{/4}LDos by Niklas Sjöberg
{/4}CRAFT and MusiCRAFT (hacked for St Load)
{/4}EasyLife Version 1.10
{/4}JD Extension
The engine itself (sans required intro animation) is about 160k
in size compiled.
And its taken SO LONG to get it into this form its not even FUNNY!